Access by home and business computers to large, unrestricted sources of information, such as those available through the World Wide Web (the “Web”) domain on the well-known Internet has increased exponentially in recent years. In many computing environments, it is desirable to restrict access to certain types of information on the Internet and other networks by selected users. For example, educational institutions and parents may wish to allow access only to educational content by access by children. Businesses may, likewise, wish to restrict content accessible over their networks, based upon legal, moral and productivity concerns. Many computers joined in Local Area Networks (LANs) frequently employ a network architecture that includes a proxy cache server to store and dispense Internet content. In a common proxy cache arrangement, a network user (a client), typically represented by a stand-alone microcomputer with an appropriate network interface, requests download of Internet web site content by entering the site's Uniform Resource Locator (URL) address into a web browser application resident on the client computer. The request is then transferred to a proxy cache server within the local network that may or may not already contain a current copy of the desired web content If the content is present in the cache, the proxy cache server, rather than placing a call over the Internet to the remote site, instead transmits the requested web content to the client from the local network storage.
FIG. 1 illustrates a generalized architecture for a local network that includes a proxy cache server. The illustrated network is described more particularly in related U.S. patent application Ser. No. 08/905,150, entitled User Name Authentication for Gateway Clients Accessing A Proxy Cache Server. By way of background, further teachings related to a proxy cache server environment are also disclosed in U.S. patent application Ser. No. 09/023,895, entitled Client Inherited Functionally Derived From a Proxy Topology Where Each Proxy is Independently Configured; U.S. patent application Ser. No. 09/195,982, entitled Proxy Cache Cluster; and U.S. Provisional Patent Application Ser. No. 60/128,829, entitled Object Cache Store—all of which are assigned to Novell, Inc. of Provo, Utah, and the teaching of each of the aforesaid patent applications being expressly incorporated herein by reference.
Particularly, FIG. 1 illustrates an architecture-level block diagram of a local area network having a proxy cache server and associated applications. The network 20 includes a plurality of clients showing generally by the exemplary client block 22. Each client can comprise a stand-alone microcomputer having a central processing unit (CPU) 24, a memory 26 and a network adapter 28 for communication, all linked by a bus 30. Each client is linked with its own user interface 32 that allows data to be viewed and instructions to be transmitted. The user interface typically includes a keyboard, monitor and a screen-cursor manipulator, such as a mouse. The client is linked to a local network or intranet 34. Packets of data can be transferred over the intranet using the well-known Internet Protocol (IP), or Novell's improved proprietary protocol, IPX or other common protocols.
The intranet 34 is, likewise, linked with a Novell Directory Services (NDS) server 36, which operates in the commercially available Novell NetWare network operating system environment and other commercially available network operating systems. This server includes its own CPU 38, memory 40 and network adapter 42, linked by a bus 44 to the intranet 34. An associated NDS data storage device, disk 46 is also linked to the server 36. The NDS server 36 and storage device 46 store and distribute data related to client user names. Using proprietary or open standard-based data calls, the clients each poll the NDS server for the unique NDS user name. The NDS user name is used for further communication by the client once it is received over the intranet. A proxy cache server 50 is also provided, linked to the intranet by an appropriate bus. The proxy cache server also contains a CPU 52, memory 54 and network adapter 56. The proxy cache server, in this example, is linked by network link 60 to the well-known Internet communication network 62. A large number of nodes and routers enable transfer of TCP/IP formatted data packets to and from various remote sites. One such remote site consisting of a web server 64 is illustrated. The web server 64 includes its own associated data storage device such as the disk 66. In essence, the proxy cache server 50 acts as a “firewall” between the external Internet 62 and the intranet 34. Requests for web site information are first routed from clients through the intranet 34 to the proxy cache server 50. If the client is authorized to request information from a particular web site, then the information is retrieved from the memory 54 (if such information is already cached in the memory) or it is, at that time retrieved from the remote web site for transfer to the client
As suggested above, it is desirable that advanced filtering techniques be employed to further ensure that the particular client can only access information from the web that is authorized. In the past this has generally entailed the physical scanning and blocking to selected web content, often on a URL-by-URL basis by the system administrator. The recent rise of independent ratings services that rate the content of a very large number of Internet sites afford an opportunity to automate the filtering function further, and to place it into the province of specialists in the field. Often, however, these services are not readily adaptable to a given network environment and employ a variety of different rating criteria and content categories. It is, therefore, an object of this invention to provide filtering that is readily adaptable to a proxy cache server environment and that enables a variety of different filtering services and databases to be employed with relative ease.